package com.efast.cafe.portal.service.doc;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.efast.cafe.framework.bean.QueryPageBase;
import com.efast.cafe.portal.bean.doc.DocFileFormBean;
import com.efast.cafe.portal.bean.doc.DocFileHisQueryBean;
import com.efast.cafe.portal.bean.doc.DocFileListParamBean;
import com.efast.cafe.portal.bean.doc.DocFilesBean;
import com.efast.cafe.portal.bean.doc.FileUploadReturnBean;
import com.efast.cafe.portal.entity.doc.DocFileHis;
import com.efast.cafe.portal.entity.doc.DocFiles;


public interface IDocFilesService {
	/**
	 * 查询企业文件列表
	 * 
	 * @param queryBean
	 * @param id
	 * @return
	 */
	public QueryPageBase queryCompanyFilesByFolder(DocFileListParamBean docFileListParamBean);

	/**
	 * 查询我的文件列表
	 * 
	 * @param queryBean
	 * @param id
	 * @return
	 */
	public QueryPageBase queryMyFilesByFolder(DocFileListParamBean docFileListParamBean);

	/**
	 * 查看文件详情
	 * 
	 * @param id
	 * @return
	 */
	public DocFilesBean queryFilesDetail(String type, Integer id);

	public void updateFilesName(String type, Integer id, String realName);

	public List<FileUploadReturnBean> saveDocFiles(String abstractStr,String keyword,Integer flodId, String formId, List<DocFiles> docFiles);

	public void saveDocFileForm(Integer id, DocFileFormBean docFileFormBean);

	public void deleteDocFiles(String type, Integer id);

	/**
	 * 文件历史版本
	 * 
	 * @param id
	 * @return
	 */
	public DocFileHisQueryBean queryFilesHisVersion(DocFileHisQueryBean bean);

	/**
	 * 文件的签出
	 * 
	 * @param id
	 */
	public void filesCheckOut(Integer id);

	/**
	 * 文件签入
	 * @param id
	 *            void
	 * @Author Administrator
	 * @Date 2017年9月15日
	 */
	public void filesCheckIn(Integer id,DocFiles newFile);

	/**
	 * 文件取消迁出
	 * 
	 * @param id
	 */
	public void filesCancleCheckOut(Integer id);

	/**
	 * 修改文件的摘要或者关键字
	 * 
	 * @param docFileForm
	 */
	public void updateFilesKeywordOrDigest(DocFilesBean docFilesBean);

	/**
	 * 通过文件id查组的id
	 * 
	 * @param id
	 * @return
	 */
	public Integer queryGroupIdByFileId(Integer id);
	
	/**
	 * 文件历史版本
	 * 
	 * @param id
	 * @return
	 */
	public DocFileHis queryFilesHisById(Integer id);

}
